home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-04d.zip / 04d / CHIP / Porady / Niewidoczny w sieci / TOR 0.1.2.7 / vidalia-bundle-0.1.2.7-alpha-0.0.10.exe / Torbutton / torbutton-1.0.4-fx+tb.xpi / chrome / torbutton.jar / content / preferences.js < prev    next >
Text File  |  2006-06-02  |  10KB  |  167 lines

  1. // preferences dialog functions
  2. //   torbutton_prefs_set_field_attributes() -- initialize dialog fields
  3. //   torbutton_prefs_init() -- on dialog load
  4. //   torbutton_prefs_save() -- on dialog save
  5.  
  6. var m_prefs_inited = false;
  7. var m_prefs = false;
  8. var m_socks_pref_exists = false;
  9. var m_tb_logger = false;
  10.  
  11. function torbutton_prefs_init_globals() {
  12.     if (!m_prefs) {
  13.         m_prefs = Components.classes["@mozilla.org/preferences-service;1"]
  14.                             .getService(Components.interfaces.nsIPrefBranch);
  15.     }
  16.  
  17.     m_socks_pref_exists = true;
  18.     try {
  19.         m_prefs.getBoolPref('network.proxy.socks_remote_dns');
  20.     } catch (rErr) {
  21.         // no such preference
  22.         m_socks_pref_exists = false;
  23.     }
  24.  
  25.     if (!m_tb_logger) {
  26.         try {
  27.             var logMngr = Components.classes["@mozmonkey.com/debuglogger/manager;1"]
  28.                                     .getService(Components.interfaces.nsIDebugLoggerManager);
  29.             m_tb_logger = logMngr.registerLogger("torbutton_prefs");
  30.         } catch (exErr) {
  31.             m_tb_logger = false;
  32.         }
  33.     }
  34.  
  35.     m_prefs_inited = true;
  36. }
  37.  
  38. function torbutton_prefs_set_field_attributes(doc)
  39. {
  40.     torbutton_log(4, "called prefs_set_field_attributes()");
  41.  
  42.     doc.getElementById('torbutton_panelStyle').setAttribute("disabled", !doc.getElementById('torbutton_displayStatusPanel').checked);
  43.     doc.getElementById('torbutton_panelStyleText').setAttribute("disabled", !doc.getElementById('torbutton_displayStatusPanel').checked);
  44.     doc.getElementById('torbutton_panelStyleIcon').setAttribute("disabled", !doc.getElementById('torbutton_displayStatusPanel').checked);
  45.     doc.getElementById('torbutton_usePrivoxy').setAttribute("disabled", doc.getElementById('torbutton_settingsMethod').value != 'recommended');
  46.     var proxy_port;
  47.     var proxy_host;
  48.     if (doc.getElementById('torbutton_usePrivoxy').checked)
  49.     {
  50.         proxy_host = 'localhost';
  51.         proxy_port = 8118;
  52.     }
  53.     else
  54.     {
  55.         proxy_host = '';
  56.         proxy_port = 0;
  57.     }
  58.     if (doc.getElementById('torbutton_settingsMethod').value == 'recommended') {
  59.         torbutton_log(5, "using recommended settings");
  60.         if (!m_socks_pref_exists)
  61.         {
  62.             doc.getElementById('torbutton_httpProxy').value = proxy_host;
  63.             doc.getElementById('torbutton_httpPort').value = proxy_port;
  64.             doc.getElementById('torbutton_httpsProxy').value = proxy_host;
  65.             doc.getElementById('torbutton_httpsPort').value = proxy_port;
  66.             doc.getElementById('torbutton_ftpProxy').value = proxy_host;
  67.             doc.getElementById('torbutton_ftpPort').value = proxy_port;
  68.             doc.getElementById('torbutton_gopherProxy').value = proxy_host;
  69.             doc.getElementById('torbutton_gopherPort').value = proxy_port;
  70.         } else {
  71.             doc.getElementById('torbutton_httpProxy').value = proxy_host;
  72.             doc.getElementById('torbutton_httpPort').value = proxy_port;
  73.             doc.getElementById('torbutton_httpsProxy').value = proxy_host;
  74.             doc.getElementById('torbutton_httpsPort').value = proxy_port;
  75.  
  76.             doc.getElementById('torbutton_ftpProxy').value = '';
  77.             doc.getElementById('torbutton_ftpPort').value = 0;
  78.             doc.getElementById('torbutton_gopherProxy').value = '';
  79.             doc.getElementById('torbutton_gopherPort').value = 0;
  80.         }
  81.         doc.getElementById('torbutton_socksHost').value = 'localhost';
  82.         doc.getElementById('torbutton_socksPort').value = 9050;
  83.  
  84.         doc.getElementById('torbutton_httpProxy').disabled = true;
  85.         doc.getElementById('torbutton_httpPort').disabled = true;
  86.         doc.getElementById('torbutton_httpsProxy').disabled = true;
  87.         doc.getElementById('torbutton_httpsPort').disabled = true;
  88.         doc.getElementById('torbutton_ftpProxy').disabled = true;
  89.         doc.getElementById('torbutton_ftpPort').disabled = true;
  90.         doc.getElementById('torbutton_gopherProxy').disabled = true;
  91.         doc.getElementById('torbutton_gopherPort').disabled = true;
  92.         doc.getElementById('torbutton_socksHost').disabled = true;
  93.         doc.getElementById('torbutton_socksPort').disabled = true;
  94.     } else {
  95.         doc.getElementById('torbutton_httpProxy').disabled = false;
  96.         doc.getElementById('torbutton_httpPort').disabled = false;
  97.         doc.getElementById('torbutton_httpsProxy').disabled = false;
  98.         doc.getElementById('torbutton_httpsPort').disabled = false;
  99.         doc.getElementById('torbutton_ftpProxy').disabled = false;
  100.         doc.getElementById('torbutton_ftpPort').disabled = false;
  101.         doc.getElementById('torbutton_gopherProxy').disabled = false;
  102.         doc.getElementById('torbutton_gopherPort').disabled = false;
  103.         doc.getElementById('torbutton_socksHost').disabled = false;
  104.         doc.getElementById('torbutton_socksPort').disabled = false;
  105.     }
  106. }
  107.  
  108. function torbutton_prefs_init(doc) {
  109.     var checkbox_displayStatusPanel = doc.getElementById('torbutton_displayStatusPanel');
  110. // return; 
  111.  
  112.     if (!m_prefs_inited) {
  113.         torbutton_prefs_init_globals();
  114.     }
  115.     torbutton_log(4, "called prefs_init()");
  116.     sizeToContent();
  117.  
  118.     doc.getElementById('torbutton_displayStatusPanel').checked = m_prefs.getBoolPref('extensions.torbutton.display_panel');
  119.     var panel_style = doc.getElementById('torbutton_panelStyle');
  120.     var panel_style_pref = m_prefs.getCharPref('extensions.torbutton.panel_style');
  121.     if (panel_style_pref == 'text')
  122.         panel_style.selectedItem = doc.getElementById('torbutton_panelStyleText');
  123.     else if (panel_style_pref == 'iconic')
  124.         panel_style.selectedItem = doc.getElementById('torbutton_panelStyleIcon');
  125.     // doc.getElementById('torbutton_panelStyle').value = m_prefs.getCharPref('extensions.torbutton.panel_style');
  126.     var settings_method = doc.getElementById('torbutton_settingsMethod');
  127.     var settings_method_pref = m_prefs.getCharPref('extensions.torbutton.settings_method');
  128.     if (settings_method_pref == 'recommended')
  129.         settings_method.selectedItem = doc.getElementById('torbutton_useRecommendedSettings');
  130.     else if (settings_method_pref == 'custom')
  131.         settings_method.selectedItem = doc.getElementById('torbutton_useCustomSettings');
  132.     // doc.getElementById('torbutton_settingsMethod').value = m_prefs.getCharPref('extensions.torbutton.settings_method');
  133.     doc.getElementById('torbutton_usePrivoxy').checked = m_prefs.getBoolPref('extensions.torbutton.use_privoxy');
  134.     doc.getElementById('torbutton_httpProxy').value = m_prefs.getCharPref('extensions.torbutton.http_proxy');
  135.     doc.getElementById('torbutton_httpPort').value = m_prefs.getIntPref('extensions.torbutton.http_port');
  136.     doc.getElementById('torbutton_httpsProxy').value = m_prefs.getCharPref('extensions.torbutton.https_proxy');
  137.     doc.getElementById('torbutton_httpsPort').value = m_prefs.getIntPref('extensions.torbutton.https_port');
  138.     doc.getElementById('torbutton_ftpProxy').value = m_prefs.getCharPref('extensions.torbutton.ftp_proxy');
  139.     doc.getElementById('torbutton_ftpPort').value = m_prefs.getIntPref('extensions.torbutton.ftp_port');
  140.     doc.getElementById('torbutton_gopherProxy').value = m_prefs.getCharPref('extensions.torbutton.gopher_proxy');
  141.     doc.getElementById('torbutton_gopherPort').value = m_prefs.getIntPref('extensions.torbutton.gopher_port');
  142.     doc.getElementById('torbutton_socksHost').value = m_prefs.getCharPref('extensions.torbutton.socks_host');
  143.     doc.getElementById('torbutton_socksPort').value = m_prefs.getIntPref('extensions.torbutton.socks_port');
  144.     // doc.getElementById('torbutton_warnUponExcludedSite').checked = m_prefs.getBoolPref('extensions.torbutton.prompt_before_visiting_excluded_sites');
  145.  
  146.     torbutton_prefs_set_field_attributes(doc);
  147. }
  148.  
  149. function torbutton_prefs_save(doc) {
  150.     torbutton_log(4, "called prefs_save()");
  151.     m_prefs.setBoolPref('extensions.torbutton.display_panel', doc.getElementById('torbutton_displayStatusPanel').checked);
  152.     m_prefs.setCharPref('extensions.torbutton.panel_style', doc.getElementById('torbutton_panelStyle').value);
  153.     m_prefs.setCharPref('extensions.torbutton.settings_method', doc.getElementById('torbutton_settingsMethod').value);
  154.     m_prefs.setBoolPref('extensions.torbutton.use_privoxy', doc.getElementById('torbutton_usePrivoxy').checked);
  155.     m_prefs.setCharPref('extensions.torbutton.http_proxy', doc.getElementById('torbutton_httpProxy').value);
  156.     m_prefs.setIntPref('extensions.torbutton.http_port', doc.getElementById('torbutton_httpPort').value);
  157.     m_prefs.setCharPref('extensions.torbutton.https_proxy', doc.getElementById('torbutton_httpsProxy').value);
  158.     m_prefs.setIntPref('extensions.torbutton.https_port', doc.getElementById('torbutton_httpsPort').value);
  159.     m_prefs.setCharPref('extensions.torbutton.ftp_proxy', doc.getElementById('torbutton_ftpProxy').value);
  160.     m_prefs.setIntPref('extensions.torbutton.ftp_port', doc.getElementById('torbutton_ftpPort').value);
  161.     m_prefs.setCharPref('extensions.torbutton.gopher_proxy', doc.getElementById('torbutton_gopherProxy').value);
  162.     m_prefs.setIntPref('extensions.torbutton.gopher_port', doc.getElementById('torbutton_gopherPort').value);
  163.     m_prefs.setCharPref('extensions.torbutton.socks_host', doc.getElementById('torbutton_socksHost').value);
  164.     m_prefs.setIntPref('extensions.torbutton.socks_port', doc.getElementById('torbutton_socksPort').value);
  165.     // m_prefs.setBoolPref('extensions.torbutton.prompt_before_visiting_excluded_sites', doc.getElementById('torbutton_warnUponExcludedSite').checked);
  166. }
  167.